package cn.tianya.irock.data.idal;

import java.util.List;

import cn.tianya.irock.data.model.Post;
import cn.tianya.irock.data.model.Thread;
import cn.tianya.irock.data.model.SearchQuery;
import cn.tianya.irock.data.model.Template;
import cn.tianya.irock.data.model.User;
import cn.tianya.irock.enums.SortOrder;
import cn.tianya.irock.enums.SortPostsBy;
import cn.tianya.irock.enums.SortTemplatesBy;
import cn.tianya.irock.enums.SortThreadsBy;
import cn.tianya.irock.enums.SortUsersBy;
import cn.tianya.irock.util.DataSet;


public interface ISearchDataProvider {

	DataSet<Post> searchPost(List<Integer> sectionsToSearch, List<SearchQuery> querys, SortPostsBy sortBy, SortOrder sortOrder, int pageIndex, int pageSize);
	DataSet<Thread> searchThread(List<Integer> sectionsToSearch, List<SearchQuery> querys, SortThreadsBy sortBy, SortOrder sortOrder, int pageIndex, int pageSize);
	DataSet<Template> searchTemplate(List<SearchQuery> querys, SortTemplatesBy sortBy, SortOrder sortOrder, int pageIndex, int pageSize);
	DataSet<User> searchUser(List<SearchQuery> querys, SortUsersBy sortBy, SortOrder sortOrder, int pageIndex, int pageSize);
}
